home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 12 / Mac Magazin and MacEasy Magazine CD - Issue 12.iso / Sharewarebibliothek / Anwendungen / Grafik / MacRTrace1.8.4.2 ƒ / MacRTrace Docs / MacRTrace Docs.rsrc / TEXT_139.txt < prev    next >
Text File  |  1995-06-22  |  8KB  |  281 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. This seems like a good place to talk a bit about the .scn format.  Since MacRTrace now supports .scn (mostly), people creating scenes for MacRTrace may want to use the .scn format, which is a higher-level format and is easier to use.  The best source I know for information on the .scn format is on the World Wide Web: http://www.cica.indiana.edu/graphics/object_specs/scn/SCN.format.html.  You can also find information on the .scn and .sff formats at ftp://asterix.inescn.pt/pub/RTrace.
  9.  
  10. Below is the standard document describing the .sff format.
  11.  
  12. This document describes the SFF (Simple File Format) used on the RTRACE ray tracer (Version 8). This a plain text line oriented format, with a file inclusion capability. As present, it is very simple to read and write this format from languages like C and Pascal, which was my main
  13. concern...
  14.  
  15. (^ represents start of line!)
  16.  
  17. ***** Format SFF (Simple File Format) *****
  18. [Start of File]
  19. ^... Comment
  20. ^Eye(X Y Z)
  21. ^Look(X Y Z)
  22. ^Up(X Y Z)
  23. ^View_angle(H V) [1,89 degrees]
  24. ^... Comment
  25. ^Background(R G B)
  26. ^Ambient(R G B)
  27. ^... Comment
  28. ^Light_type(Type) Position(X Y Z) Bright(R G B) ...
  29.   |                                              |
  30.   |                  /---------------------------/
  31.   |                  |
  32.   V                  V
  33.  1-POINT:
  34.  2-DIRECTIONAL: Direction(X Y Z) Angle(La) Light_Factor(Lf)
  35.  3-EXTENDED:    Radius(R) Samples(N)
  36. ^Etc
  37. ^<NL>
  38. ^... Comment
  39. ^Surface_type(Type) Color(R G B) ...
  40.   |                               |
  41.   |        /----------------------/
  42.   |        |
  43.   V        V
  44.  1-: Diffuse(R G B) Specular(R G B) Phong(Pf) Metalness(Mf) Trans.(R G B) 
  45.  2-: Smoothness(R G B) Metalness(R G B) Transmission(R G B) 
  46. ^Etc
  47. ^<NL>
  48. ^... Comment
  49. ^Object_type(Type) Surface_ID(S) Refraction(Re) ...
  50.   |                                              |
  51.   |                     /------------------------/
  52.   |                     |
  53.   V                     V
  54.  1-SPHERE:          Center(X Y Z) Radius(R)
  55.  2-PARALLELIPIPED:  Center(X Y Z) Size(X Y Z)
  56.  3-PATCH:           Origin(X Y Z) Scale(X Y Z) Filename(...)
  57.  4-CONE/CYLINDER:   Apex(X Y Z) Apex_Radius(Ra) Base(X Y Z)
  58.                     Base_Radius(Rb)
  59.  5-POLYGON:         Origin(X Y Z) Scale(X Y Z) Filename(...)
  60.  6-TRIANGLE:        Origin(X Y Z) Scale(X Y Z) Filename(...)
  61.  7-TEXT3D:          Filename(...)
  62.  64-TEXTURE:        see below
  63.  65-TRANSFORMATION: Object_ID(I)
  64.                     Transform(X1 Y1 Z1 W1 ... X4 Y4 Z4 W4)
  65.  66-CSG 0:          Surface_ID(S) Refraction(Re) (Union-0 Sub-1 Int-2)
  66.     CSG 1:          Next CSG member
  67.     CSG 2:          End of CSG
  68.  67-LIST 0:         Surface_ID(S) Refraction(Re)
  69.     LIST 1:         End of List
  70. ^Etc
  71. ^<NL>
  72. ^... Comment
  73. ^Texture_type(Type) Object_ID(I)
  74.   |                 Transform(X1 Y1 Z1 W1 ... X4 Y4 Z4 W4)
  75.   |                 ...
  76.   |                  |
  77.   V                  V
  78.  0-NULL:
  79.  1-CHECKER:   Surface_ID(S)
  80.  2-BLOTCH:    Scale(K) Surface_ID(S) [Filename(...) or -]
  81.  3-BUMP:      Scale(K)
  82.  4-MARBLE:    [Filename(...) or -]
  83.  5-FBM:       Offset(K) Scale(K) Omega(K) Lambda(L)
  84.               Threshold(K) Octaves(O)
  85.               [Filename(...) or -]
  86.  6-FBMBUMP:   Offset(K) Scale(K) Lambda(L) Octaves(O)
  87.  7-WOOD:      Color(R G B)
  88.  8-ROUND:     Scale(K)
  89.  9-BOZO:      Turbulence(K) [Filename(...) or -]
  90.  11-WAVES:    Frequency(K) Phase(K) Scale(K)
  91.  12-SPOTTED:  [Filename(...) or -]
  92.  13-DENTS:    Scale(K)
  93.  14-AGATE:    [Filename(...) or -]
  94.  15-WRINKLES: Scale(K)
  95.  16-GRANITE:  [Filename(...) or -]
  96.  17-GRADIENT: Turbulence(K) Direction(X Y Z)
  97.               [Filename(...) or -]
  98.  18-IMAGEMAP: Turbulence(K) Mode(K) Axis(X Y) Filename(...)
  99.  19-GLOSS:    Scale(K)
  100.  20-BUMP3D:   Scale(K) Size(K)
  101. ^<NL>
  102. ^... Comments
  103. [End of File]
  104.  
  105. 1. Valid ranges or data
  106.  
  107. RGB must be in [0,1[
  108. (Note: RGB brightness of lights may be between ]0,300[;
  109. negative values mean to not attenuate with distance)
  110. XYZ must be in [-10000,10000]
  111. Factor must be in [0,300[
  112.  
  113. Filename must a valid filename for the operating system, or then '-', in
  114. which case data is read from the standard input or the same SFF stream.
  115.  
  116. 2. Patch specification
  117.  
  118. File format for PATCH (bicubic 4-sided patch):
  119. [Start]
  120. Patch_1_Index(1 2 3 4 5 6 7 8 9 10 11 12)
  121. Patch_2
  122. Etc
  123. <NL>
  124. Patch_1_Index_1_Coords(X Y Z)
  125. Patch_1_Index_2_Coords(X Y Z)
  126. Etc
  127. <NL>
  128. ...
  129. [End]
  130.  
  131. 3. Polygon specification
  132.  
  133. File format for POLYGON (n-sided planar polygon):
  134. [Start]
  135. Polygon_1_Vertex_Number Polygon_1_Index(1 2 3 ...)
  136. Polygon_2
  137. Etc
  138. <NL>
  139. Polygon_1_Index_1_Coords(X Y Z)
  140. Polygon_1_Index_2_Coords(X Y Z)
  141. Etc
  142. <NL>
  143. ...
  144. [End]
  145.  
  146. 4. Triangle specification
  147.  
  148. File format for TRIANGLE (3-sided polygon with vertex normals):
  149. [Start]
  150. Triangle_1_Vertice_1(X Y Z) Normal_1(X Y Z) Vertice_2(X Y Z) Normal_2(X Y Z) ...
  151. Triangle_2
  152. <NL>
  153. ...
  154. [End]
  155.  
  156. If the surface index is 0, then 3 surface indices must follow vertices and
  157. normals.
  158.  
  159. 5. An example
  160.  
  161. [Start of File]
  162. View
  163. 25 25 7         - Eye point
  164. 0 0 0           - Look point
  165. 0 1 0           - Up vector
  166. 30 30           - View angles
  167. Colors
  168. 0.196 0.6 0.8   - Background (Sky Blue)
  169. 0.1 0.1 0.1     - Ambient light
  170. Lights
  171. 1 0 60 60 0.9 0.9 0.9   - Point Light 1
  172. 1 20 40 -7 0.9 0.9 0.9  - Point Light 2
  173.  
  174. Surfaces
  175. 1 0.6 0.8 0.196 0.99 0.99 0.99 0 0 0 0 0 0 0 0             - Yellow Green
  176. 1 0.9 0.9 0.9 0.5 0.5 0.5 0.5 0.5 0.5 50 1 0 0 0           - White
  177. 1 0.5 0.5 0.5 0.1 0.1 0.1 0.1 0.1 0.1 200 0.7 0.8 0.8 0.8  - Grey
  178. 1 0.9 0.2 0.2 0.99 0.99 0.99 0 0 0 0 0 0 0 0               - Red
  179.  
  180. Objects
  181. 5 1 1.0 0 0 0 15 15 15  - Polygon
  182. 4 1 2 3 4
  183.  
  184. 1 0 1
  185. 1 0 -1
  186. -1 0 -1
  187. -1 0 1
  188.  
  189. 2 2 1.0 0 2 0 7 2 3     - Parallelipiped
  190. 2 3 1.5 0 5 10 3 5 3    - Parallelipiped
  191. 1 4 1.0 7 15 -7 3       - Sphere
  192.  
  193. Textures
  194. 2 1 2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 1 0.4 4                 - Blotch
  195. 4 2 5 0 0 0 0 5 0 0 0 0 5 0 0 0 0 1                       - Marble
  196. 5 4 10 0 0 0 1 10 0 0 1 1 10 0 0 0 0 1 0 0.6 0.5 2 0.1 6  - FBM Bump
  197.  
  198. End
  199. Demo / 11-OCT-1989 / Antonio Costa
  200. [End of File]
  201.  
  202. To ray trace without textures, do
  203.  
  204.         rtrace demo.sff demo.pic >&demo.log
  205.  
  206. else, do
  207.  
  208.         rtrace t2 demo.sff demo.pic >&demo.log
  209.  
  210. Another example with INESC symbol:
  211. [Start of File]
  212. View
  213. 45.0 45.0 81.0  - Eye point
  214. 45.0 45.0 -81.0 - Look point
  215.  0.0  1.0  0.0  - Up vector
  216. 30 30           - View angles
  217. Colors
  218. 0.196 0.6 0.8 - Background (Sky Blue)
  219. 0.3 0.3 0.3   - Ambient
  220. Lights
  221. 1  0.0 100.0 100.0 1 1 1 - Light 1 (White)
  222. 1 90.0 100.0 100.0 1 1 0 - Light 2 (Yellow)
  223.  
  224. Surfaces
  225. 1 0.557 0.420 0.137 0.8 0.7 0.7 0.2 0.3 0.3 30 0.8 0 0 0 - Surf 1 (Steel Red)
  226. 1 0.137 0.420 0.557 0.5 0.5 0.6 0.5 0.5 0.4 5 0.2 0 0 0  - Surf 2 (Steel Blue)
  227. 1 0.600 0.800 0.200 0.9 0.9 0.9 0.0 0.0 0.0 1 0 0 0 0    - Surf 3 (Matte Green)
  228.  
  229. Objects
  230. 1 1 1.0 10.0 09.5 0.0 4.5 - Sphere
  231. 1 1 1.0 10.0 26.5 0.0 4.5
  232. 1 1 1.0 20.0 63.5 0.0 4.5
  233. 1 1 1.0 20.0 80.0 0.0 4.5
  234. 1 1 1.0 40.0 09.5 0.0 4.5
  235. 1 1 1.0 40.0 26.5 0.0 4.5
  236. 1 1 1.0 40.0 43.5 0.0 4.5
  237. 1 1 1.0 50.0 80.0 0.0 4.5
  238. 1 1 1.0 60.0 53.0 0.0 4.5
  239. 1 1 1.0 70.0 09.5 0.0 4.5
  240. 1 1 1.0 70.0 43.5 0.0 4.5
  241. 4 2 1.0 10.0 30.0 0.0 1.5 10.0 70.0 0.0 1.5 - Cylinder
  242. 1 2 1.0 10.0 70.0 0.0 1.5
  243. 4 2 1.0 10.0 70.0 0.0 1.5 17.5 77.5 0.0 1.5
  244. 4 2 1.0 12.5 12.0 0.0 1.5 20.0 19.5 0.0 1.5
  245. 1 2 1.0 20.0 19.5 0.0 1.5
  246. 4 2 1.0 20.0 19.5 0.0 1.5 20.0 60.0 0.0 1.5
  247. 4 2 1.0 22.5 61.0 0.0 1.5 37.5 46.0 0.0 1.5
  248. 4 2 1.0 37.5 12.0 0.0 1.5 30.0 19.5 0.0 1.5
  249. 1 2 1.0 30.0 19.5 0.0 1.5
  250. 4 2 1.0 30.0 19.5 0.0 1.5 30.0 33.5 0.0 1.5
  251. 1 2 1.0 30.0 33.5 0.0 1.5
  252. 4 2 1.0 30.0 33.5 0.0 1.5 37.5 41.0 0.0 1.5
  253. 4 2 1.0 30.0 26.5 0.0 1.5 36.5 26.5 0.0 1.5
  254. 4 2 1.0 40.0 47.0 0.0 1.5 40.0 70.0 0.0 1.5
  255. 1 2 1.0 40.0 70.0 0.0 1.5
  256. 4 2 1.0 40.0 70.0 0.0 1.5 47.5 77.5 0.0 1.5
  257. 4 2 1.0 42.5 12.0 0.0 1.5 50.0 19.5 0.0 1.5
  258. 1 2 1.0 50.0 19.5 0.0 1.5
  259. 4 2 1.0 50.0 19.5 0.0 1.5 50.0 43.0 0.0 1.5
  260. 1 2 1.0 50.0 43.0 0.0 1.5
  261. 4 2 1.0 50.0 43.0 0.0 1.5 57.5 50.5 0.0 1.5
  262. 4 2 1.0 67.5 12.0 0.0 1.5 60.0 19.5 0.0 1.5
  263. 1 2 1.0 60.0 19.5 0.0 1.5
  264. 4 2 1.0 60.0 19.5 0.0 1.5 60.0 33.5 0.0 1.5
  265. 1 2 1.0 60.0 33.5 0.0 1.5
  266. 4 2 1.0 60.0 33.5 0.0 1.5 67.5 41.0 0.0 1.5
  267. 5 3 1.0 0.0 4.0 0.0 200.0 200.0 200.0 - Polygon
  268. 4 1 2 3 4
  269.  
  270.  1.0 0.0  1.0
  271.  1.0 0.0 -1.0
  272. -1.0 0.0 -1.0
  273. -1.0 0.0  1.0
  274.  
  275.  
  276. End
  277. INESC Logo / 23-FEB-1989 / Antonio Costa
  278. [End of File]
  279.  
  280. INESC-Norte, 13 January 1993.
  281.